﻿using LogisticsTrackingWebApi_V2.Models;

namespace LogisticsTrackingWebApi_V2.Services
{
    /// <summary>
    /// 物流查询提供者接口，定义所有物流查询策略的共同方法
    /// </summary>
    public interface ILogisticsProvider
    {
        /// <summary>
        /// 物流公司代码
        /// </summary>
        string CompanyCode { get; }

        /// <summary>
        /// 物流公司名称
        /// </summary>
        string CompanyName { get; }

        /// <summary>
        /// 查询物流信息
        /// </summary>
        /// <param name="trackingNumber">物流单号</param>
        /// <returns>物流信息</returns>
        Task<LogisticsInfo> QueryLogisticsAsync(string trackingNumber);
    }

}
